/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tk.eigh.ksvg.component.animation;

import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;

/**
 *
 * @author nt
 */
interface _AnimationValueAttributes {

    /**
     * by = "&lt;value&gt;"<br/>Specifies a relative offset value for the
     * animation.<br/> Except for any SVG-specific rules explicitly mentioned in
     * this specification, the normative definition for this attribute is the <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL
     * Animation</cite></a> specification. In particular, see <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#ByAttribute">SMIL
     * Animation: 'by' attribute</a> ([<a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/">SMILANIM</a>],
     * section 3.2.2).
     */
    @JSFProperty
    String getBy();

    /**
     * calcMode = "discrete | linear | paced | spline"<br/> <p>Specifies the
     * interpolation mode for the animation. This can take any of the following
     * values. The default mode is 'linear', however if the attribute does not
     * support linear interpolation (e.g. for strings), the <a
     * href="http://www.w3.org/TR/SVG/animate.html#CalcModeAttribute">‘calcMode’</a>
     * attribute is ignored and discrete interpolation is used.</p>
     * <dl><dt>discrete</dt><dd>This specifies that the animation function will
     * jump from one value to the next without any
     * interpolation.</dd><dt>linear</dt><dd>Simple linear interpolation between
     * values is used to calculate the animation function. Except for <a
     * href="http://www.w3.org/TR/SVG/animate.html#AnimateMotionElement">‘animateMotion’</a>,
     * this is the default <a
     * href="http://www.w3.org/TR/SVG/animate.html#CalcModeAttribute">‘calcMode’</a>.</dd><dt>paced</dt><dd>
     * Defines interpolation to produce an even pace of change across the
     * animation. This is only supported for the data types for which there is
     * an appropriate distance function defined, which includes only scalar
     * numeric types plus the types listed in <a
     * href="http://www.w3.org/TR/SVG/animate.html#complexDistances">Paced
     * animation and complex types</a>. If 'paced' is specified, any <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * or <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeySplinesAttribute">‘keySplines’</a>
     * will be ignored. For <a
     * href="http://www.w3.org/TR/SVG/animate.html#AnimateMotionElement">‘animateMotion’</a>,
     * this is the default <a
     * href="http://www.w3.org/TR/SVG/animate.html#CalcModeAttribute">‘calcMode’</a>.
     * Authors are discouraged from using paced animation on types that do not
     * have a distance function defined, due to its unpredictable behavior in
     * some user agents.</dd><dt>spline</dt><dd>Interpolates from one value in
     * the <a
     * href="http://www.w3.org/TR/SVG/animate.html#ValuesAttribute">‘values’</a>
     * list to the next according to a time function defined by a cubic Bézier
     * spline. The points of the spline are defined in the <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * attribute, and the control points for each interval are defined in the <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeySplinesAttribute">‘keySplines’</a>
     * attribute.</dd></dl> <p>Except for any SVG-specific rules explicitly
     * mentioned in this specification, the normative definition for this
     * attribute is the <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL
     * Animation</cite></a> specification. In particular, see <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#CalcModeAttribute">SMIL
     * Animation: 'calcMode' attribute</a> ([<a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/">SMILANIM</a>],
     * section 3.2.3).</p>
     */
    @JSFProperty
    String getCalcMode();

    /**
     * from = "&lt;value&gt;"<br/>Specifies the starting value of the
     * animation.<br/> Except for any SVG-specific rules explicitly mentioned in
     * this specification, the normative definition for this attribute is the <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL
     * Animation</cite></a> specification. In particular, see <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#FromAttribute">SMIL
     * Animation: 'from' attribute</a> ([<a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/">SMILANIM</a>],
     * section 3.2.2).
     */
    @JSFProperty
    String getFrom();

    /**
     * keyTimes = "&lt;list&gt;"<br/> <p>A semicolon-separated list of time
     * values used to control the pacing of the animation. Each time in the list
     * corresponds to a value in the <a
     * href="http://www.w3.org/TR/SVG/animate.html#ValuesAttribute">‘values’</a>
     * attribute list, and defines when the value is used in the animation
     * function. Each time value in the <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * list is specified as a floating point value between 0 and 1 (inclusive),
     * representing a proportional offset into the simple duration of the
     * animation element.</p>
     *
     * <p>For animations specified with a <a
     * href="http://www.w3.org/TR/SVG/animate.html#ValuesAttribute">‘values’</a>
     * list, the <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * attribute if specified must have exactly as many values as there are in
     * the <a
     * href="http://www.w3.org/TR/SVG/animate.html#ValuesAttribute">‘values’</a>
     * attribute. For from/to/by animations, the <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * attribute if specified must have two values.</p>
     *
     * <p>Each successive time value must be greater than or equal to the
     * preceding time value.</p>
     *
     * <p>The <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * list semantics depends upon the interpolation mode:</p> <ul><li>For
     * linear and spline animation, the first time value in the list must be 0,
     * and the last time value in the list must be 1. The key time associated
     * with each value defines when the value is set; values are interpolated
     * between the key times.</li><li>For discrete animation, the first time
     * value in the list must be 0. The time associated with each value defines
     * when the value is set; the animation function uses that value until the
     * next time defined in <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>.</li></ul>
     * <p>If the interpolation mode is 'paced', the <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * attribute is ignored.</p>
     *
     * <p>If there are any errors in the <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * specification (bad values, too many or too few values), the document
     * fragment is in error (see <a
     * href="http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing">error
     * processing</a>).</p>
     *
     * <p>If the simple duration is indefinite, any <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * specification will be ignored.</p>
     *
     * <p> Because paced animation interpolation is unspecified for some value
     * types, authors are encouraged to use 'linear' animation interpolation
     * with calculated <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * to achieve particular interpolation behavior for these types. </p>
     *
     * <p>Except for any SVG-specific rules explicitly mentioned in this
     * specification, the normative definition for this attribute is the <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL
     * Animation</cite></a> specification. In particular, see <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#KeyTimesAttribute">SMIL
     * Animation: 'keyTimes' attribute</a> ([<a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/">SMILANIM</a>],
     * section 3.2.3).</p>
     */
    @JSFProperty
    String getKeyTimes();

    /**
     * keySplines = "&lt;list&gt;"<br/><p>A set of Bézier control points
     * associated with the <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * list, defining a cubic Bézier function that controls interval pacing. The
     * attribute value is a semicolon-separated list of control point
     * descriptions. Each control point description is a set of four values:
     * <code>x1 y1 x2 y2</code>, describing the Bézier control points for one
     * time segment. Note: <a
     * href="http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-animation.html#adef-keySplines">SMIL</a>
     * allows these values to be separated either by commas with optional
     * whitespace, or by whitespace alone. The <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>
     * values that define the associated segment are the Bézier "anchor points",
     * and the <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeySplinesAttribute">‘keySplines’</a>
     * values are the control points. Thus, there must be one fewer sets of
     * control points than there are <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeyTimesAttribute">‘keyTimes’</a>.</p>
     *
     * <p>The values must all be in the range 0 to 1.</p>
     *
     * <p>This attribute is ignored unless the <a
     * href="http://www.w3.org/TR/SVG/animate.html#CalcModeAttribute">‘calcMode’</a>
     * is set to 'spline'.</p>
     *
     * <p>If there are any errors in the <a
     * href="http://www.w3.org/TR/SVG/animate.html#KeySplinesAttribute">‘keySplines’</a>
     * specification (bad values, too many or too few values), the document
     * fragment is in error (see <a
     * href="http://www.w3.org/TR/SVG/implnote.html#ErrorProcessing">error
     * processing</a>).</p>
     *
     * <p>Except for any SVG-specific rules explicitly mentioned in this
     * specification, the normative definition for this attribute is the <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL
     * Animation</cite></a> specification. In particular, see <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#KeySplinesAttribute">SMIL
     * Animation: 'keySplines' attribute</a> ([<a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/">SMILANIM</a>],
     * section 3.2.3).</p>
     */
    @JSFProperty
    String getKeySplines();

    /**
     * to = "&lt;value&gt;"<br/>Specifies the ending value of the
     * animation.<br/> Except for any SVG-specific rules explicitly mentioned in
     * this specification, the normative definition for this attribute is the <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL
     * Animation</cite></a> specification. In particular, see <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#ToAttribute">SMIL
     * Animation: 'to' attribute</a> ([<a
     * href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.2).
     */
    @JSFProperty
    String getTo();

    /**
     * values = "&lt;list&gt;"<br/>A semicolon-separated list of one or more
     * values. Vector-valued attributes are supported using the vector syntax of
     * the <a
     * href="http://www.w3.org/TR/SVG/animate.html#AttributeTypeAttribute">‘attributeType’</a>
     * domain. Per the SMIL specification, leading and trailing white space, and
     * white space before and after semicolon separators, is allowed and will be
     * ignored. Except for any SVG-specific rules explicitly mentioned in this
     * specification, the normative definition for this attribute is the <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL
     * Animation</cite></a> specification. In particular, see <a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#ValuesAttribute">SMIL
     * Animation: 'values' attribute</a> ([<a
     * href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/">SMILANIM</a>],
     * section 3.2.2).
     */
    @JSFProperty
    String getValues();
}
